Release 10.1A: OpenEdge Getting Started:
Application and Integration Services
Connection operation
The way an AppServer connection works depends partly on the AppServer operating mode. This section describes the basic procedure that the Progress interface follows in order to set up and manage the actual communications with an AppServer for the different operating modes. The AppServer supports four operating modes, each of which supports a different type of physical or logical connection.
In the figures that follow, the Progress interface is the OpenEdge communications layer that manages physical and logical connections to an AppServer on behalf of a client. For 4GL clients and Open Clients, this function resides in the client session context or in the AIA (if used). For Web service clients, this function resides in the WSA.
Note: The following procedure assumes that you are using a NameServer. Without a NameServer, the same basic procedure is followed, but all communications goes directly to a single AppServer instance with the AppServer broker managing all of its client connections from beginning to end.In general, a client application initiates and manages the connection with an AppServer according to the following procedure:
- The client application notifies the Progress interface to send a connection request for a specified application service to a specified NameServer. The Progress interface then sends the request to the NameServer, which the Progress interface identifies using a host and port provided by the client application, as shown:
Note: If the client makes a connection request directly to an AppServer host and port, either through a Web service or the AIA, the procedure continues from here with Step 3.
![]()
If you have configured fault-tolerant NameServers, the replicated or neighbor NameServers attempt to resolve the connection. If no such NameServer can resolve the connection, the client receives a connection error.
- For a physical connection, the resolving NameServer chooses a particular AppServer instance that supports the specified application service (and that balances client load, if so configured) and provides the Progress interface with the network location of the AppServer broker for that AppServer. For a logical connection, the Progress interface requests connections to one or more AppServer brokers that support the specified application service with which to initialize the client connection pool, as shown:
![]()
- For a physical connection or a logical connection directly to a single AppServer, the Progress interface initially sets up a connection with the AppServer broker, as shown:
![]()
- For a physical connection, the AppServer broker either maintains the connection directly between itself and the Progress interface (state-less operating mode) or provides the Progress interface with the address of a particular AppServer agent to which it can remain connected for the duration of the connection (state-reset or state-aware operating modes). For a logical connection (state-free operating mode), the Progress interface maintains the client connection pool for one or more AppServer connections, consulting the NameServer for each request, as required by the logical connection parameters, as shown:
Note: For multiple logical connections to a given application service, all bound clients can access identical AppServer connections, because a state-free AppServer has no physical connection to its clients and it is available to execute requests from all clients as fast as it’s own agent pool can handle the requests.- Once the connection is established according to the operating mode and connection parameters, all remote procedure and user-defined function requests from that one client are sent over this connection. In the case of a logical connection (state-free), multiple requests from the client can be executed in parallel, depending on the AppServer resources available.
- When the client no longer needs the connection, it disconnects from the single AppServer or all AppServers in its connection pool (for logical connections) by notifying the Progress interface to send a disconnect request to each affected AppServer.
For more information on how to set up and work with a physical or logical connection, see the information on programming client applications in OpenEdge Application Server: Developing AppServer Applications .
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |